//
//#ifndef SX_RECORDING_ENTRY_H
//#define SX_RECORDING_ENTRY_H
//
//#include <sxArrayList.h>
//#include <sxMassSpringMesh.h>
//#include "NodeState.h"
//
//namespace Sx {
//namespace Simulation {
//namespace Recording {
//
//struct MSM_RecordingEntry {
//	/* Default Constructor for array allocation. */
//	MSM_RecordingEntry() {
//		this->mesh = nullptr;
//		this->states = Util::ArrayList<States::NodeState>(100, States::NodeState());
//		this->freeIndex = 0;
//	}
//
//	void setMesh(Objects::MassSpringMesh* mesh) { 
//		this->mesh = mesh;
//	}
//
//	States::NodeState& getNextNodeState() {
//		if ( this->freeIndex == this->states.capacity() ) {
//			this->states.resize(this->states.size() * 2);
//		}
//		States::NodeState& state = this->states[this->freeIndex];
//		this->freeIndex++;
//		return state;
//	}
//
//	unsigned int getNodeStateCount() const {
//		return this->freeIndex;
//	}
//
//	unsigned int getNumNodeStates() const {
//		return this->freeIndex;
//	}
//
//	unsigned int size() const {
//		return this->freeIndex;
//	}
//
//	/* POINTER_OWNERSHIP: NO */
//	Objects::MassSpringMesh* mesh;
//	Util::ArrayList<States::NodeState> states;
//	unsigned int freeIndex;
//};
//
//}
//
//}
//
//}
//
//#endif
